﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CANO.Data.DAOs
{
	public class ObservacionesDAO
	{
		public int Contacto { get; set; }
		public DateTime FechaObservacion { get; set; }
		public string Observacion { get; set; }
		public int UsuarioCreatedBy { get; set; }
		public string CreatedBy { get; set; }
		public string FechaObservacionShort
		{
			get;
			set;
		}

		public void create()
		{
			using (CANOPropiedadesDCDataContext context = new CANOPropiedadesDCDataContext())
			{
				ObservacionContacto newObservacion = new ObservacionContacto();
				newObservacion.ContactoID = this.Contacto;
				newObservacion.FechaObservacion = this.FechaObservacion;
				newObservacion.Observacion = this.Observacion;
				newObservacion.Usuario = this.UsuarioCreatedBy;

				context.ObservacionContacto.InsertOnSubmit(newObservacion);
				context.SubmitChanges();
			}
		}

		public static List<ObservacionesDAO> getObservacionesByContactID(int ContactID)
		{
			List<ObservacionesDAO> listObservaciones = new List<ObservacionesDAO>();

			using (CANOPropiedadesDCDataContext context = new CANOPropiedadesDCDataContext())
			{

				var observaciones =
					from obs in context.ObservacionContacto
					where obs.ContactoID == ContactID
					select obs;

				foreach (var item in observaciones)
				{
					ObservacionesDAO observacion = new ObservacionesDAO();
					observacion.Contacto = item.ContactoID;
					observacion.CreatedBy = item.Usuario1.Apellido + ", " + item.Usuario1.Nombre;
					observacion.FechaObservacion = item.FechaObservacion;
					observacion.Observacion = item.Observacion;
					observacion.UsuarioCreatedBy = Convert.ToInt32(item.Usuario);
					observacion.FechaObservacionShort = item.FechaObservacion.ToShortDateString() + " " + item.FechaObservacion.ToShortTimeString();

					listObservaciones.Add(observacion);
				}
				return listObservaciones;
			}
		}
	}
}
